package com.soilflow.common.utils.easyexcel;

import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.ReadCellData;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;

/**
 * 0无，1书记，2副书记，3党组成员，4委员，5顾问委员会委员，6纪律检查委员会委员，
 * 7纪律检查委员会常委，8纪律委员会书记，9纪律委员会副书记，10主任，11副主任，
 * 12副科长，13科长
 */
public class PartyDutyConverter implements Converter<Short> {

    @Override
    public Class supportJavaTypeKey() {return Short.class;}

    // 在excel中是默认非默认 所以是string
    @Override
    public CellDataTypeEnum supportExcelTypeKey() {return CellDataTypeEnum.STRING;}
 
    //将excel的数据类型转为java数据类型
    @Override
    public Short convertToJavaData(ReadCellData readCellData, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
        String stringValue = readCellData.getStringValue();        switch (stringValue){
            case "无":
                return 0;
            case "书记":
                return 1;
            case "副书记":
                return 2;
            case "党组成员":
                return 3;
            case "委员":
                return 4;
            case "顾问委员会委员":
                return 5;
            case "纪律检查委员会委员":
                return 6;
            case "纪律检查委员会常委":
                return 7;
            case "纪律委员会书记":
                return 8;
            case "律委员会副书记":
                return 9;
            case "主任":
                return 10;
            case "副主任":
                return 11;
            case "副科长":
                return 12;
            case "科长":
                return 13;
            default:
                return 0;
        }
    }
 
    //将java的数据类型转为excel数据类型
    @Override
    public WriteCellData convertToExcelData(Short s, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
        switch (s){
            case 0:
                return new WriteCellData("无");
            case 1:
                return new WriteCellData("书记");
            case 2:
                return new WriteCellData("副书记");
            case 3:
                return new WriteCellData("党组成员");
            case 4:
                return new WriteCellData("委员");
            case 5:
                return new WriteCellData("顾问委员会委员");
            case 6:
                return new WriteCellData("纪律检查委员会委员");
            case 7:
                return new WriteCellData("纪律检查委员会常委");
            case 8:
                return new WriteCellData("纪律委员会书记");
            case 9:
                return new WriteCellData("律委员会副书记");
            case 10:
                return new WriteCellData("主任");
            case 11:
                return new WriteCellData("副主任");
            case 12:
                return new WriteCellData("副科长");
            case 13:
                return new WriteCellData("科长");
            default:
                return new WriteCellData("无");
        }
    }
}